perm filename ROMSPL.BAK[CM,DEK] blob
sn#791415 filedate 1985-05-18 generic text, type C, neo UTF8
COMMENT ā VALID 00008 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 % This file contains special letters and letter combinations, compatible
C00003 00003 cmchar "Dotless letter i"
C00004 00004 cmchar "Dotless letter j"
C00006 00005 cmchar "German letter es-zet (sharp s)"
C00009 00006 cmchar "The ligature ae"
C00014 00007 cmchar "The ligature oe"
C00018 00008 cmchar "Scandinavian letter o/slash"
C00020 ENDMK
Cā;
% This file contains special letters and letter combinations, compatible
% with the alphabet ``{\tt romanl}''.
% Codes \0020--\0021 and \0031--\0034 are generated.
cmchar "Dotless letter i";
beginchar(oct"020",5u#,x_height#,0);
italcorr x_height#*slant-serif_fit#+.5stem#-2u#;
adjust_fit(serif_fit#,serif_fit#);
pickup tiny.nib; penpos1(stem''-tiny,0); penpos2(stem''-tiny,0);
lft x1l=round(2.5u-.5stem''); x1=x2;
top y1=x_height if serifs: +min(oo,serif_drop) fi; bot y2=0;
filldraw stroke z1e..z2e; % stem
if serifs: sloped_serif.l(1,2,a,1/3,.95jut,serif_drop); % upper serif
cup_serif(2,1,b,1/3,jut,c,1/3,.9jut); fi % lower serif
penlabels(1,2); endchar;
cmchar "Dotless letter j";
beginchar(oct"021",5.5u#,x_height#,desc_depth#);
italcorr x_height#*slant-serif_fit#+.5stem#-2u#;
adjust_fit(serif_fit# if monospace:+u# fi,serif_fit#);
pickup tiny.nib; penpos1(stem''-tiny,0); penpos2(stem''-tiny,0);
rt x1r=round(w-2.5u+.5stem''); x1=x2;
top y1=x_height if serifs: +min(oo,serif_drop) fi; bot y2=-1/3d;
filldraw stroke z1e..z2e; % stem
if serifs: sloped_serif.l(1,2,a,1/3,.95jut,serif_drop); % upper serif
penpos5(vair-tiny,-90); penpos6(hair-tiny,-180); penpos7(flare-tiny,-180);
pickup tiny.nib; x5=.5[x2,x6r]; bot y5r=-d-oo; y6-.5flare=-.88d;
if monospace: lft x6r=0 else: z6r=z7r; rt x7l=floor .75u fi;
(x,y5r)=whatever[z5l,z2l]; x5r:=x;
filldraw stroke z2e{down}...z5e{left}; bulb(5,6,7); % arc and bulb
else: pickup fine.nib; penpos2'(stem''-fine,0); z2'=z2;
penpos6(.2[vair,stem'']-fine,-90); penpos7(vair-fine,-90);
lft x7r=round(-.75u); bot y7r=round 5/6(-d-oo);
x3r=x1r; top y4r=min(2x_height,h+1);
(x,y7l)=whatever[z7r,(x1,min(h,asc_height))]; x7l:=x;
z5r=z2'r; (x2'l,y5l)=whatever[z7l,z5r]; x5l=x2'l; y5=y5r;
x6r=.5[x7r,x5r]; x6l:=.5[x7l,x5l]; bot y6r=-d-oo;
filldraw stroke z2'e..{down}z5e & super_arc.e(5,6)
& z6e{left}..z7e; fi % arc and terminal
penlabels(1,2,5,6,7); endchar;
cmchar "German letter es-zet (sharp s)";
beginchar(oct"031",4.5u#+max(4.5u#,.5stem#+flare#+curve#),asc_height#,0);
italcorr asc_height#*slant-u#;
adjust_fit(serif_fit#,0);
pickup tiny.nib; penpos1(stem''-tiny,0); penpos2(stem''-tiny,0);
lft x1l=lft x2l=round(2.5u-.5stem''); bot y1=0; y2=y4=.5[x_height,y3];
penpos3(vair-fine,90); fine.top y3r=h+oo;
filldraw stroke z1e..z2e; % stem
numeric stem_edge; stem_edge=rt x1r;
pickup fine.nib; penpos4(curve-fine,0); penpos5(vair-fine,-90);
penpos2'(stem''-fine,180); z2'=z2; x3=.5[x2,x4]; rt x4r=round(w-u);
top y5l=x_height; lft x5=round(stem_edge+u);
filldraw stroke pulled_super_arc.e(2',3)(.5superpull)
& pulled_super_arc.e(3,4)(.5superpull)
& pulled_super_arc.e(4,5)(.5superpull); % upper bowl
penpos5'(vair-fine,90); z5'=z5; penpos6(curve-fine,0); penpos7(vair-fine,-90);
rt x6r=round(w-.5u); y6=.4x_height; bot y7r=-oo;
lft x8r=round(stem_edge+.5u+1); x7=.4[lft x8r,x6];
filldraw stroke pulled_super_arc.e(5',6)(.5superpull)
& pulled_super_arc.e(6,7)(.5superpull); % lower bowl
if serifs: penpos8(hair-fine,-180); penpos9(flare-fine,-180);
y9-.5flare=round .07x_height; bulb(7,8,9); % bulb
penpos0(stem''-tiny,0); x0=x1; tiny.top y0=x_height;
serif(0,1,a,0,-jut); % bar
cup_serif(1,2,b,1/3,jut,c,0,epsilon); % serif
else: penpos8(vair-fine,-110); bot y8r=round .01h;
x8l:=good.x x8l; y8l:=good.y(y8l+.5);
filldraw stroke z7e{left}..z8e; fi % terminal
penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
cmchar "The ligature ae";
beginchar(oct"032",13u#,x_height#,0);
italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0);
adjust_fit(0,0);
numeric left_curve,right_curve;
if monospace: right_curve=left_curve=fudged.stem;
else: left_curve=max(tiny.breadth,round(curve-2stem_corr));
right_curve=max(tiny.breadth,round(curve-if serifs:5 else:8 fi stem_corr)); fi
pickup tiny.nib; penpos11(right_curve-tiny,0);
penpos12(vair-tiny,90); penpos13(mfudged.stem-tiny,180);
y11=good.y bar_height; top y12r=h+round 1.5oo; y10l=bot y11;
rt x11r=round min(w-.5u,w-u+.5right_curve);
lft x13r=round (.5w-.5mfudged.stem); x12=.55[x13,x11];
{{interim superness:=more_super;
filldraw stroke super_arc.e(11,12)}}; % right bowl of e
y13=.5[y12,y14]; bot y14r=-oo; x14=x12+.25u;
if serifs: penpos14(vair'-tiny,270); penpos15(mfudged.hair-tiny,360);
y15=good.y(.5bar_height-.9); x15r=x11r;
(x,y14l)=whatever[z14r,z15]; x14l:=x;
filldraw stroke pulled_super_arc.e(12,13)(.2superpull)
& pulled_super_arc.e(13,14)(.1superpull)
..z15e; % left bowl, arc, and terminal of e
else: penpos14(vair-tiny,270);
filldraw stroke super_arc.e(12,13)
& super_arc.e(13,14); % left bowl and arc of e
pickup fine.nib; penpos14'(vair-fine,270); z14=z14';
penpos15(.5[vair,flare]-fine,265); rt x15l=round(w-.6u);
y15r=good.y(y15r+1/3bar_height-y15); y15l:=good.y y15l; x15r:=good.x x15r;
filldraw stroke z14'e{right}..z15e; fi % right terminal
y11'r=y10r=y10l+.6[fine,vair]; y11'l=y10l; x11'l=x11'r=x11; x10l=x10r=x13;
fill stroke z10e--z11'e; % crossbar
pickup fine.nib; top y3r=h+round 1.5oo;
if serifs: penpos1(flare-fine,180); penpos2(mfudged.hair-fine,180);
penpos3(vair-fine,90); lft x1r=round 1.25u; x3=4u;
y1=min(bar_height+.5flare+2vair+2,.9[bar_height,h]-.5flare);
bulb(3,2,1); % bulb
else: penpos1(5/7[vair,flare]-fine,95); x1l=good.x 1.5u; x1r:=good.x x1r;
penpos3(1/8[vair,fine.breadth]-fine,90);
x3=4.3u; top y1r=round(.8[bar_height+fine,top y3r]);
filldraw stroke z1e..tension 1 and .9..{right}z3e; fi % left terminal
penpos4(mfudged.stem-fine,0); x4=x13; y4=1/3[bar_height,h];
penpos5(mfudged.stem-fine,0); x5=x4; y5=min(y4,y13);
filldraw stroke super_arc.e(3,4)&z4e..z5e; % arc and stem
penpos6(.6[fine.breadth,vair]-fine,90); x6=x4; bot y6=y10l;
penpos7(left_curve-fine,180);
lft x7r=round max(.5u,1.5u-.5left_curve); y7=1/3[top y8l,top y6r];
penpos8(vair-fine,270); x8l=3.75u; bot y8r=-oo;
penpos9(.5[vair,fudged.stem]-fine,360); x9=x5; y9=.55bar_height;
(x',y8r)=whatever[z8l,z9l]; x8r:=x';
{{interim superness:=more_super;
filldraw stroke z9e{down}...z8e{left}...{up}z7e&super_arc.e(7,6)}}; % bowl
if y9<y5: filldraw stroke z5e{down}..{down}z9e; fi % link (usually hidden)
penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar;
cmchar "The ligature oe";
beginchar(oct"033",14u#,x_height#,0);
italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0);
adjust_fit(0,0);
numeric left_curve,right_curve;
if monospace: right_curve=left_curve=fudged.stem;
else: left_curve=max(tiny.breadth,round(curve-2stem_corr));
right_curve=max(tiny.breadth,round(curve-if serifs:5 else:8 fi stem_corr)); fi
pickup tiny.nib; penpos11(right_curve-tiny,0);
penpos12(vair-tiny,90); penpos13(mfudged.stem-tiny,180);
y11=good.y bar_height; top y12r=h+round 1.5oo; y10l=bot y11;
rt x11r=round min(w-.5u,w-u+.5right_curve);
lft x13r=round (.5(w+u)-.5mfudged.stem); x12=.55[x13,x11];
{{interim superness:=more_super;
filldraw stroke super_arc.e(11,12)}}; % right bowl of e
y13=.5[y12,y14]; bot y14r=-oo; x14=x12+.25u;
if serifs: penpos14(vair'-tiny,270); penpos15(mfudged.hair-tiny,360);
y15=good.y(.5bar_height-.9); x15r=x11r;
(x,y14l)=whatever[z14r,z15]; x14l:=x;
filldraw stroke pulled_super_arc.e(12,13)(.2superpull)
& pulled_super_arc.e(13,14)(.1superpull)
..z15e; % left bowl, arc, and terminal of e
else: penpos14(vair-tiny,270);
filldraw stroke super_arc.e(12,13)
& super_arc.e(13,14); % left bowl and arc of e
pickup fine.nib; penpos14'(vair-fine,270); z14=z14';
penpos15(.5[vair,flare]-fine,265); rt x15l=round(w-.6u);
y15r=good.y(y15r+1/3bar_height-y15); y15l:=good.y y15l; x15r:=good.x x15r;
filldraw stroke z14'e{right}..z15e; fi % right terminal
y11'r=y10r=y10l+.6[fine,vair]; y11'l=y10l; x11'l=x11'r=x11; x10l=x10r=x13;
fill stroke z10e--z11'e; % crossbar
pickup fine.nib; penpos1(vair-fine,90); penpos3(vair-fine,-90);
penpos2(left_curve-fine,180); penpos4(mfudged.stem-fine,0);
lft x2r=round max(.5u,1.25u-.5curve);
z4=z13; x1=x3=.5[x2,x4]; top y1r=h+round 1.5oo; y2=y4; bot y3r=-oo;
filldraw stroke pulled_super_arc.e(1,2)(superpull)
& pulled_super_arc.e(2,3)(superpull); % left half of left bowl
filldraw stroke pulled_super_arc.e(3,4)(superpull)
& pulled_super_arc.e(4,1)(superpull); % right half of left bowl
penlabels(1,2,3,4,10,11,12,13,14,15); endchar;
cmchar "Scandinavian letter o/slash";
beginchar(oct"034",9u#,x_height#+.5desc_depth#,.5desc_depth#);
italcorr h#*slant-u#-max(.5fudge*stem#,.75u#)+.5vair#;
adjust_fit(0,0);
penpos1(vair,90); penpos3(vair,-90);
penpos2(fudged.stem,180); penpos4(fudged.stem,0);
x2r=round max(.5u,1.25u-.5fudged.stem);
x4r=w-x2r; x1=x3=.5w;
y1r=x_height+round 1.5oo; y2=y4=.5x_height-vair_corr; y3r=-oo;
penstroke pulled_super_arc.e(1,2)(superpull)
& pulled_super_arc.e(2,3)(superpull)
& pulled_super_arc.e(3,4)(superpull)
& pulled_super_arc.e(4,1)(superpull) & cycle; % bowl
x5=x4; x6=x2; y5=h; y6=-d;
numeric theta; theta=angle(z5-z6)-90;
pickup crisp.nib; penpos5(vair-crisp,theta); penpos6(vair-crisp,theta);
filldraw stroke z5e..z6e; % diagonal
penlabels(1,2,3,4,5,6); endchar;